28 research outputs found

    Software Engineering Knowledge Areas in Startup Companies: A Mapping Study

    Full text link
    Background - Startup companies are becoming important suppliers of innovative and software intensive products. The failure rate among startups is high due to lack of resources, immaturity, multiple influences and dynamic technologies. However, software product engineering is the core activity in startups, therefore inadequacies in applied engineering practices might be a significant contributing factor for high failure rates. Aim - This study identifies and categorizes software engineering knowledge areas utilized in startups to map out the state-of-art, identifying gaps for further research. Method - We perform a systematic literature mapping study, applying snowball sampling to identify relevant primary studies. Results - We have identified 54 practices from 14 studies. Although 11 of 15 main knowledge areas from SWEBOK are covered, a large part of categories is not. Conclusions - Existing research does not provide reliable support for software engineering in any phase of a startup life cycle. Transfer of results to other startups is difficult due to low rigor in current studies.Comment: Proceedings 6th International Conference on Software Business (ICSOB 2015), Braga, Portugal, 245-25

    Exploration of technical debt in start-ups

    Full text link
    Context: Software start-ups are young companies aiming to build and market software-intensive products fast with little resources. Aiming to accelerate time-to-market, start-ups often opt for ad-hoc engineering practices, make shortcuts in product engineering, and accumulate technical debt. Objective: In this paper we explore to what extent precedents, dimensions and outcomes associated with technical debt are prevalent in start-ups. Method: We apply a case survey method to identify aspects of technical debt and contextual information characterizing the engineering context in start-ups. Results: By analyzing responses from 86 start-up cases we found that start-ups accumulate most technical debt in the testing dimension, despite attempts to automate testing. Furthermore, we found that start-up team size and experience is a leading precedent for accumulating technical debt: larger teams face more challenges in keeping the debt under control. Conclusions: This study highlights the necessity to monitor levels of technical debt and to preemptively introduce practices to keep the debt under control. Adding more people to an already difficult to maintain product could amplify other precedents, such as resource shortages, communication issues and negatively affect decisions pertaining to the use of good engineering practices.Comment: ICSE-SEIP '18: Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practic

    Software Startups -- A Research Agenda

    Full text link
    Software startup companies develop innovative, software-intensive products within limited time frames and with few resources, searching for sustainable and scalable business models. Software startups are quite distinct from traditional mature software companies, but also from micro-, small-, and medium-sized enterprises, introducing new challenges relevant for software engineering research. This paper's research agenda focuses on software engineering in startups, identifying, in particular, 70+ research questions in the areas of supporting startup engineering activities, startup evolution models and patterns, ecosystems and innovation hubs, human aspects in software startups, applying startup concepts in non-startup environments, and methodologies and theories for startup research. We connect and motivate this research agenda with past studies in software startup research, while pointing out possible future directions. While all authors of this research agenda have their main background in Software Engineering or Computer Science, their interest in software startups broadens the perspective to the challenges, but also to the opportunities that emerge from multi-disciplinary research. Our audience is therefore primarily software engineering researchers, even though we aim at stimulating collaborations and research that crosses disciplinary boundaries. We believe that with this research agenda we cover a wide spectrum of the software startup industry current needs

    Software Engineering in Start-up Companies

    No full text
    Start-up companies have emerged as suppliers of innovation and software-intensive products. Small teams, lack of legacy products, experimental nature, and absence of any organizational processes enable start-ups to develop and market new products and services quickly. However, most start-ups fail before delivering any value. Start-up failures can be attributed to market factors, shortcomings in business models, lack of motivation, or self-destruction, among other reasons. However, inadequacies in product engineering precede any market or business-related challenges and could be a significant contributing factor to start-up failures. At the same time, state-of-the-art software engineering (SE) practices are often neglected by start-ups as inadequate. At the beginning of this work, SE in start-ups had attracted very little attention from researchers. Thus, there was no coherent view of SE state-of-practice in start-ups and no starting point for a focused investigation.   In this thesis, we explore how start-ups practice SE, what specific SE challenges should be addressed, and what new SE practices are needed to support the engineering of innovative software-intensive products and services.   A substantial part of this work is exploratory and aimed to explore SE state-of-practice in start-ups. Our initial findings suggest that start-ups overlook the best SE practices. Teams of a few people working on relatively experimental and straightforward software see no upside of following the best practices. However, late start-ups face substantial challenges as their teams grow, and products become more complex. The key difficulties concern installing adequate SE practices supporting collaboration, coordination of work, and management of accumulated technical debt. To support the evolution of engineering practices in start-ups, we propose the start-up progression model outlining engineering goals, common challenges, and useful practices with regards to the start-up life-cycle phases. Further findings suggest inadequate support for market-driven requirements engineering (MDRE). Specifically, on how to aggregate needs and wishes of a large and loosely defined set of stakeholders who may not be able to articulate their needs and expectations. To address this challenge, we propose a method for the identification and prioritization of data sources and stakeholders in MDRE. Analyzing SE context in start-ups and other organizations developing innovative and market-driven products, we have found many similarities. While start-ups have challenges, they do not appear to be unique. Thus, most start-up challenges can be addressed by transferring the best practices from other engineering contexts.   We conclude that there is a little need for start-up specific engineering practices. Best software engineering practices are relevant to address challenges in start-ups. The key engineering challenge in start-ups is the management of the evolution of SE practices to match the growing complexity of the product and the organization. Our work also highlights the need for better MDRE practices to support new market-driven product development in both start-ups and other types of organizations.

    Usability and user experience : measurement model

    No full text
    Software quality is one of success factors in software development. Usability and user experience (U&UX) as a part of software quality is becoming more and more important. Although, there has been successful attempts to formalize specific parts of U&UX there is still a need for a systematic framework of U&UX evaluation. This thesis is aimed to study the state of the art in U&UX evaluation in order to develop a single framework that comprises existing knowledge on the topic. Furthermore, the U&UX evaluation framework is aimed to support product development in industry and provide a versatile guide for U&UX practitioners. The study is based on reference based systematic review. The literature review covers both scientific publications and industrial grade papers. The papers to be reviewed were selected by their relevance to the study goals and credibility of the source. The result of this is three layer U&UX evaluation framework. First layer of the Model features breakdown structure of usability and user experience. Total number of usability and context of use attributes is 217. Second layer of the model contains guidelines of how to perform usability evaluation. Third layer features validation strategies and guidelines on how to expand the Model. In order to enable practical use of the Model both static and dynamic validation should take place. There are many models in place attempting to formalize U&UX evaluation. However, most of them focuses on particular branch of usability or are too broad to be applied practically without adaption. Furthermore, there are many resources offering practical usability and user experience checklists or guidelines. However, most of them lack connection with industry standards such as ISO/IEC 9126. The Model presented in this thesis attempts to fill the gap between high level industry standards and cook book style U&UX guidelines

    Software Engineering in Start-up Companies

    No full text
    Start-up companies have emerged as suppliers of innovation and software-intensive products. Small teams, lack of legacy products, experimental nature, and absence of any organizational processes enable start-ups to develop and market new products and services quickly. However, most start-ups fail before delivering any value. Start-up failures can be attributed to market factors, shortcomings in business models, lack of motivation, or self-destruction, among other reasons. However, inadequacies in product engineering precede any market or business-related challenges and could be a significant contributing factor to start-up failures. At the same time, state-of-the-art software engineering (SE) practices are often neglected by start-ups as inadequate. At the beginning of this work, SE in start-ups had attracted very little attention from researchers. Thus, there was no coherent view of SE state-of-practice in start-ups and no starting point for a focused investigation.   In this thesis, we explore how start-ups practice SE, what specific SE challenges should be addressed, and what new SE practices are needed to support the engineering of innovative software-intensive products and services.   A substantial part of this work is exploratory and aimed to explore SE state-of-practice in start-ups. Our initial findings suggest that start-ups overlook the best SE practices. Teams of a few people working on relatively experimental and straightforward software see no upside of following the best practices. However, late start-ups face substantial challenges as their teams grow, and products become more complex. The key difficulties concern installing adequate SE practices supporting collaboration, coordination of work, and management of accumulated technical debt. To support the evolution of engineering practices in start-ups, we propose the start-up progression model outlining engineering goals, common challenges, and useful practices with regards to the start-up life-cycle phases. Further findings suggest inadequate support for market-driven requirements engineering (MDRE). Specifically, on how to aggregate needs and wishes of a large and loosely defined set of stakeholders who may not be able to articulate their needs and expectations. To address this challenge, we propose a method for the identification and prioritization of data sources and stakeholders in MDRE. Analyzing SE context in start-ups and other organizations developing innovative and market-driven products, we have found many similarities. While start-ups have challenges, they do not appear to be unique. Thus, most start-up challenges can be addressed by transferring the best practices from other engineering contexts.   We conclude that there is a little need for start-up specific engineering practices. Best software engineering practices are relevant to address challenges in start-ups. The key engineering challenge in start-ups is the management of the evolution of SE practices to match the growing complexity of the product and the organization. Our work also highlights the need for better MDRE practices to support new market-driven product development in both start-ups and other types of organizations.

    Organizational Conflicts in the Adoption of Continuous Software Engineering

    No full text
    Software is a critical component of nearly every product or service. Improvements in software can lead to substantial competitive advantages. At the same time, software and surrounding engineering teams have become increasingly complex. The adoption of continuous integration and delivery is a recent trend to radically improve software release speed. However, its adoption is far from straightforward. Specifically, rethinking processes, organizational culture, ways of working, and business models require buy-in from diverse stakeholders that may have conflicting objectives. Such situations are explored by organizational conflict research. This paper reports on early lessons from an ongoing research project in continuous software engineering, specifically investigating adoption challenges from an organizational conflict perspective. We identify catalysts, symptoms, and outcomes of organizational conflicts hindering the adoption process. We conclude that predictable conflicts emerge when adopting continuous engineering. Engineers, managers, and other teams can proactively prepare for and allocate resources to resolve them. Proper analysis and management can help avoid wasted time, impeding processes, and frustration. © 2023, The Author(s)

    Software Engineering Antipatterns in Start-Ups

    No full text

    Software Engineering Anti-Patterns in Start-Ups

    No full text
    Software start-up failures are often explained with a poor business model, market issues, insufficient funding, or simply a bad product idea. However, inadequacies in software engineering are relatively unexplored and could be a significant contributing factor to the high start-up failure rate. In this paper we present the analysis of 88 start-up experience reports, revealing three anti-patterns associated with start-up progression phases. The anti-patterns address challenges of releasing the first version of the product, attracting customers, and expanding the product into new markets. The anti-patterns show that challenges and failure scenarios that appear to be business or market related are, at least partially, rooted in engineering inadequacies

    Software engineering in start-up companies : An analysis of 88 experience reports

    No full text
    Context: Start-up companies have become an important supplier of innovation and software-intensive products. The flexibility and reactiveness of start-ups enables fast development and launch of innovative products. However, a majority of software start-up companies fail before achieving any success. Among other factors, poor software engineering could be a significant contributor to the challenges experienced by start-ups. However, the state-of-practice of software engineering in start-ups, as well as the utilization of state-of-the-art is largely an unexplored area. Objective: In this study we investigate how software engineering is applied in start-up context with a focus to identify key knowledge areas and opportunities for further research. Method: We perform a multi-vocal exploratory study of 88 start-up experience reports. We develop a custom taxonomy to categorize the reported software engineering practices and their interrelation with business aspects, and apply qualitative data analysis to explore influences and dependencies between the knowledge areas. Results: We identify the most frequently reported software engineering (requirements engineering, software design and quality) and business aspect (vision and strategy development) knowledge areas, and illustrate their relationships. We also present a summary of how relevant software engineering knowledge areas are implemented in start-ups and identify potentially useful practices for adoption in start-ups. Conclusions: The results enable a more focused research on engineering practices in start-ups. We conclude that most engineering challenges in start-ups stem from inadequacies in requirements engineering. Many promising practices to address specific engineering challenges exists, however more research on adaptation of established practices, and validation of new start-up specific practices is needed. © 2018 The Author(s)open access</p
    corecore